package javachongkao.编程基础.ArrayList入门;

import java.util.Scanner;
import java.util.ArrayList;
//7-8 jmu-Java-02基本语法-08-ArrayList入门
//本习题主要用于练习如何使用ArrayList来替换数组。
//新建1个ArrayList<String> strList用来存放字符串，然后进行如下操作。
//
//提示: 查询Jdk文档中的ArrayList。
//注意: 请使用System.out.println(strList)输出列表元素。
//
//输入格式
//输入: 若干字符串，放入strList。直到输入为!!end!!时，结束输入。
//
//在strList头部新增一个begin，尾部新增一个end。
//
//输出列表元素
//
//输入: 字符串str
//
//判断strList中有无包含字符串str，如包含输出true，否则输出false。并且输出下标，没包含返回-1。
//
//在strList中从后往前找。返回其下标，找不到返回-1。
//
//移除掉第1个(下标为0)元素,并输出。然后输出列表元素。
//
//输入: 字符串str
//
//将第2个（下标为1）元素设置为字符串str.
//
//输出列表元素
//
//输入: 字符串str
//
//遍历strList，将字符串中包含str的元素放入另外一个ArrayList strList1，然后输出strList1。
//
//在strList中使用remove方法，移除第一个和str相等的元素。
//
//输出strList列表元素。
//
//使用clear方法，清空strList。然后输出strList的内容，size()与isEmpty()，3者之间用,连接。
public class Main7 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        ArrayList<String> strList = new ArrayList<>();
        while (true) {
            String input = scanner.next();
            if (input.equals("!!end!!")) {
                break;
            }
            strList.add(input);
        }
        strList.add(0, "begin");
        strList.add("end");
        System.out.println(strList);
        String str = scanner.next();
        boolean contains = strList.contains(str);
        System.out.println(contains);
        if (contains) {
            System.out.println(strList.indexOf(str));
        } else {
            System.out.println(-1);
        }
        int lastIndex = strList.lastIndexOf(str);
        System.out.println(lastIndex);
        String removed = strList.remove(0);
        System.out.println(removed);
        System.out.println(strList);
        str = scanner.next();
        strList.set(1, str);
        System.out.println(strList);
        str = scanner.next();
        ArrayList<String> strList1 = new ArrayList<>();
        for (String s : strList) {
            if (s.contains(str)) {
                strList1.add(s);
            }
        }
        System.out.println(strList1);
        strList.remove(str);
        System.out.println(strList);
        strList.clear();
        System.out.println(strList + "," + strList.size() + "," + strList.isEmpty());
    }
}